import router from './router'
import NProgress from 'nprogress' // progress bar
import './commom/nprogress/nprogress.css'// progress bar style
import {getToken} from '@/utils/auth' // getToken from cookie

NProgress.configure({showSpinner: false})// NProgress Configuration

const whiteList = ['Login', 'Redirect', 'Setting', 'DingTalkMsg', 'DingAppLogin', 'ErrorPage']// no redirect whitelist

router.beforeEach((to, from, next) => {
  NProgress.start() // start progress bar
  if (getToken()) { // determine if there has token
    /* has token */
    if (to.path === '/login') {
      next({path: '/'})
      NProgress.done()
    } else {
      next()
    }
  } else {
    /* has no token */
    // console.log(to, from, 'to, from')
    if (whiteList.indexOf(to.name) !== -1) { // 在免登录白名单，直接进入
      console.log(to.path)
      next()
    } else {
      next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页
      NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
    }
  }
})

router.afterEach(() => {
  NProgress.done() // finish progress bar
})
